今天這篇文章我個人滿喜歡的,整個文章內容就是為了一個主題去探討,到底 Pod 是如何獲得 IP 地址的。
作者開頭闡述了一個常見的情況,就是 Kubernetes 架構龐大,元件複雜,每次談到所謂的網路模型的時候,大家都攘攘上口 CNI, CNI, CNI,但是又有多少人能夠清楚地描述整個 CNI 的運作過程,到底什麼時間點被呼叫,每次的呼叫做了什麼事情。
因此作者特別撰寫了這篇文章,打算從 CRI,CNI 兩個元件去按討,到底一個 Pod 起來到取得 IP 的過程中這些元件會如何互動
為了解釋這個過程,作者分別使用 Containerd 以及 Flannel 作為其 CRI/CNI 的解決方案,從過程中一步一步去解釋到底 Flannel 大概怎麼運作,IP 怎麼取得。
這邊要提醒的是,CNI 玩法百百種,Flannel 的做法是其中一種選擇,其他的 CNI 會有別的方式來設定 IP 地址,但是其源頭如何與 CRI 互動這部分是不會改變的。我認為大家有時間都要好好的看這篇文章,去學習一下到底底層元件的運作原理與流程,都能夠幫助自己更佳理解 Kubernetes 這龐大的怪獸
https://medium.com/cloud-belivers/how-kubernetes-pod-obtains-ip-address-3982ac9697b1